Fall-12: Introducing the basics of user-level multithreading
نویسندگان
چکیده
Current parallel libraries and languages often rely on user-level threads to allow for massive concurrency. However, even junior or senior students often have difficulties with the understanding of the pros and cons of user-level threading, due to a lack of concrete experience with its implementation. In this poster, we describe our effort to introduce this concept in the introductory Computer Systems course at PUC-Rio. This is a required course for three of PUC-Rio’s undergraduate programs: Computer Engineering, Computer Science and Information Systems. During the course, students are exposed to basic concepts underlying computer systems, learning and exploring the ways in which these concepts provide support for implementing several abstractions present in typical imperative programming languages. Because the course explores extensively the concepts of execution stack and global data area, it is an ideal point in the curriculum to introduce user-level threads. We describe the theoretical and laboratory material we developed on the topic, in which we explored the concept of coroutines and a basic library that can be built on to implement symmetric and asymmetric coroutines. Keywords-user-level multitasking, coroutines, computer systems
منابع مشابه
The Design and Construction of a User - Level Kernel
| Multithreading is a powerful programming paradigm that has become very popular in recent years. The authors have developed a set of course materials and software tools for eeectively teaching multithreaded programming (MTP). One important component of the au-thors' system is a very simple user-level kernel for instructors to teach MTP without getting into system details , and for the students...
متن کاملThe Design and Construction of a User - Level Kernel forTeaching Multithreaded
| Multithreading is a powerful programming paradigm that has become very popular in recent years. The authors have developed a set of course materials and software tools for eeectively teaching multithreaded programming (MTP). One important component of the au-thors' system is a very simple user-level kernel for instructors to teach MTP without getting into system details , and for the students...
متن کاملNested Parallelism in the OMPi OpenMP/C Compiler
This paper presents a new version of the OMPi OpenMP C compiler, enhanced by lightweight runtime support based on user-level multithreading. A large number of threads can be spawned for a parallel region and multiple levels of parallelism are supported efficiently, without introducing additional overheads to the OpenMP library. Management of nested parallelism is based on an adaptive distributi...
متن کاملValidity of the Opinion of a Physician Specializing in the fall or Conversion of the Punishment of a Warlord and Corruptor on Earth with Mental Disorders
Warlord and corruption on earth are among the security crimes in the Islamic Penal Code adopted in 1392, which are separated from each other and each has its own instances. But what is important in the meantime is that some perpetrators of these crimes are not psychologically and medically able to bear the punishment, so it remains to be seen whether, given the importance and severity of these ...
متن کاملUser-level multithreading architecture for real-time systems: The Arx approach
In real-time systems, it becomes imperative to support preemptive multithreading at a low cost in order to timely respond to high priority asynchronous events. Although user-level threads provide more exible abstraction with lower overhead than kernel-level threads, kernel-level threads are more favored in real-time systems due to their simpler thread scheduling and signal handling. In this pap...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013